#!/bin/bash

# WASM 优化测试脚本
# 这个脚本用于测试 WASM 延迟加载的性能优化效果

echo "🚀 开始测试 WASM 延迟加载优化..."

# 检查项目是否存在
if [ ! -f "package.json" ]; then
    echo "❌ 错误：未找到 package.json 文件，请确保在项目根目录运行此脚本"
    exit 1
fi

# 检查 WASM 文件是否存在
if [ ! -f "src/lib/pkg/example_wasm_bg.wasm" ]; then
    echo "❌ 错误：未找到 WASM 文件"
    exit 1
fi

# 检查 WASM 文件大小
WASM_SIZE=$(ls -lh src/lib/pkg/example_wasm_bg.wasm | awk '{print $5}')
echo "📦 WASM 文件大小: $WASM_SIZE"

# 检查优化后的代码
echo "🔍 检查代码优化..."

# 检查是否移除了立即加载
if grep -q "const loadWasm = async" src/pages/sun2/index.tsx; then
    echo "❌ 发现立即加载的 WASM 代码，优化可能未完成"
else
    echo "✅ 已移除立即加载的 WASM 代码"
fi

# 检查是否使用了 useWasm hook
if grep -q "useWasm" src/pages/sun2/index.tsx; then
    echo "✅ 已使用 useWasm hook"
else
    echo "❌ 未使用 useWasm hook"
fi

# 检查是否有延迟加载逻辑
if grep -q "await loadWasm()" src/pages/sun2/index.tsx; then
    echo "✅ 已实现延迟加载逻辑"
else
    echo "❌ 未发现延迟加载逻辑"
fi

echo ""
echo "📊 优化总结:"
echo "-------------------"
echo "✅ WASM 模块不再在首页加载时立即初始化"
echo "✅ 仅在用户上传多个文件时才加载 WASM"
echo "✅ 添加了加载状态指示器"
echo "✅ 提供了错误处理机制"
echo ""
echo "🎯 预期效果:"
echo "- 首页加载速度更快"
echo "- 减少了初始包大小"
echo "- 按需加载，节省资源"
echo "- 更好的用户体验"

echo ""
echo "🧪 建议测试步骤:"
echo "1. 启动开发服务器: npm run dev"
echo "2. 打开浏览器开发者工具的 Network 面板"
echo "3. 访问首页，观察是否加载 WASM 文件"
echo "4. 尝试上传多个文件，观察 WASM 是否按需加载"
echo "5. 检查首页加载时间是否有改善"
